package br.edu.unilasalle.simon_api.dao.impl;

import java.util.List;

import javax.persistence.TypedQuery;

import org.springframework.stereotype.Repository;

import br.edu.unilasalle.simon_api.dao.ICidadeDao;
import br.edu.unilasalle.simon_api.domain.Cidade;

@Repository
public class CidadeDao extends GenericDao<Cidade, Long> implements ICidadeDao {

	public List<Cidade> findCidadeByIdEstado(Long id) {
        StringBuilder str = new StringBuilder();
        str.append("select new Cidade(o.id, o.estado, o.nome, o.uf, o.cep, o.cep2) from Cidade o ");
        str.append("where o.estado.id = :id order by o.nome");
        TypedQuery<Cidade> q = entityManager.createQuery(str.toString(), Cidade.class);
        q.setParameter("id", id);
		return q.getResultList();
    }
	
	public List<Cidade> findCidadeByCep(String cep) {
        StringBuilder str = new StringBuilder();
        str.append("select new Cidade(o.id, o.estado, o.nome, o.uf, o.cep, o.cep2) from Cidade o ");
        str.append("where o.cep = :cep order by o.nome");
        TypedQuery<Cidade> q = entityManager.createQuery(str.toString(), Cidade.class);
        q.setParameter("cep", cep);
		return q.getResultList();
    }
	
}
